1. Field of the Invention
The present invention is generally concerned with microprocessor controlled band printers. The present invention is particularly concerned with speeding the mapping of print characters, normally received as ASCII codes, into the discreet control of the print hammers at the print positions which will allow a line of characters to be printed.
2. Description of the Prior Art
The principles and construction of band, or chain, printers are well known in the art. Such printers function to (1) receive data over an interface, nominally a digital interface, (2) to use dedicated hardware to store and to compare such data, mapping it into the required control of print hammers, and (3) to actuate print hammers against the printable characters upon the circulating print band in order to print a line, and (4) advancing a paper form between printing of each line. In detail, data is received over the interface, normally from a computer, and stored in a line buffer. During printing, the character band, or chain, turns in front of the hammer bank. The hammer bank typically has one hammer per print position, but may use one hammer for multiple print positions. Dedicated band printer logic keeps track of which character is in front of every hammer, a given set of characters being at the print station for a character time. A character time is a function of the speed of the band and the distance between characters on the band. During printing, the dedicated print logic checks, during each character time, the contents of the line buffer against the current character at each print station. For those characters which compare, the corresponding print hammer is enabled to effectuate printing. Normally the character codes within the line buffers of characters printed are deleted from the buffer upon such printing. The process then continues until all characters for the line are printed, which is shown by no remaining characters being the print buffer. The dedicated logic controls that the paper form should advance between lines which are printed.
The use of dedicated logic to control a band printer, and to map characters received upon an interface into the discreet control of the print hammers, is effective and has been used to control printers ranging in speed to several thousand lines per minute. The disadvantage of discreet, dedicated, band printer control logics are that such logics require a large amount of hardware to implement, and no standard large scale, or very large scale, integrated circuits exist to perform this band printer control function. The large amount of hardware used in implementation of dedicated band printer control logics require large board space and large power supplies, resulting in expensive implementation.
An improved prior art implementation of the control logics for a band, or chain, printer is based on the use of low cost microprocessor chips to control the printing process. The microprocessor is, however, generally too slow to perform the mapping of print data when (1) large numbers of columnar positions, (2) large numbers of different printable characters, and (3) high print speeds are involved. Recognize that at 600 lines per minute (1 pm) a line of print is completed each 100 milliseconds (100 msec), and at 900 lines per minute a line of print is completed approximately each 66.7 milliseconds. Of this time period, 25 milliseconds is normally used for paper feed in a 600 lpm printer and 20 milliseconds for paper feed in a 900 lpm printer. Within the remaining time for printing, respectively 75 milliseconds for a 600 lpm printer and 46.7 milliseconds for a 900 lpm printer, the complete character set, nominally 64 characters, must be printed. When synchronization pulses, nominally three in number, are added to the 64 character times, each such character time may be as short as 75 msec divided by 67 equals 1.2 msec for a 600 lpm printer, or 46.7 msec divided by 67 equal 690 microseconds for a 900 lpm printer. Recognize that the microprocessor printer logic must check, during each of these millisecond length or shorter character times, the content of the complete line buffer against the current character at each print station.
The continuing prior art improvement, and solution, to the problem of allowing microprocessors to perform, at millisecond speed, the required mapping of input characters to control of hammers at each print position within a band printer has been by the use of multiple microprocessors in parallel to perform this print character mapping function. The task of comparing, and mapping, the print information for all the print positions may then be divided by the number of parallel microprocessors used. In one prior art implementation of a 136 column, 600 line per minute printer, four microprocessors were used with each microprocessor controlling, and performing the print mapping, for 34 columns (34 print hammers). However, performance of the print mapping algorithm for the control of even this modest number (34) of columns becomes unworkable, at least for certain commonly available low cost microprocessors, at a print speed of 900 lines per minute. Of course, either (1) more microprocessors could continue to be used in parallel, or (2) expensive faster miroprocessors could be used, and/or (3) expensive chips normally associated with signal processing could be used. However, with the aim of holding down the cost of implementation of the microprocessor-based control logics of a band printer, an improvement to the algorithm, and performance, of the mapping of print characters into the control of the hammer positions is a desired solution, should such be realizable. With such an improved, algorithmically-based, solution to the more expedient mapping of print characters in a microprocessor controlled band printer the present invention is concerned.